<html>
<head><meta charset="utf-8"><title>rustc internals notes · t-compiler/wg-nll · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/index.html">t-compiler/wg-nll</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html">rustc internals notes</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="127605064"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127605064" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127605064">(Jun 05 2018 at 15:02)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> You said it should be safe to thread down the <code>hir::HirId</code>, right? As in attaching it to the <code>mir::LocalDecl</code> should not cause dep-graph to break?</p>



<a name="127605167"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127605167" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127605167">(Jun 05 2018 at 15:05)</a>:</h4>
<p>yes</p>



<a name="127605171"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127605171" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127605171">(Jun 05 2018 at 15:06)</a>:</h4>
<p><code>HirId</code> is "incremental safe"</p>



<a name="127616979"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127616979" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127616979">(Jun 05 2018 at 19:13)</a>:</h4>
<p>sorry to be such a pill about this, but I really would like to understand better. You are saying that you would not expect a diff like the one on this gist to cause the compile-fail errors also on that gist: <a href="https://gist.github.com/pnkfelix/e3e27cdfa0f536e6334ffa5e1edd199b#file-thread-hir_id-diff" target="_blank" title="https://gist.github.com/pnkfelix/e3e27cdfa0f536e6334ffa5e1edd199b#file-thread-hir_id-diff">https://gist.github.com/pnkfelix/e3e27cdfa0f536e6334ffa5e1edd199b#file-thread-hir_id-diff</a></p>



<a name="127617058"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127617058" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127617058">(Jun 05 2018 at 19:14)</a>:</h4>
<p>To be clear, there are some other changes that were part of that range of commits; but these are the only ones that modified internal compiler data structures, and thus the only ones relevant to dep-graph...?</p>



<a name="127617066"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127617066" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127617066">(Jun 05 2018 at 19:14)</a>:</h4>
<p>Is there some other step I need to also do in order to satisfy dep-graph's needs?</p>



<a name="127617177"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127617177" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127617177">(Jun 05 2018 at 19:17)</a>:</h4>
<p>(To provide a bit more context: the new enum <code>BindingForm</code> and struct <code>VarBindingForm</code> are the things attached to the <code>LocalDecl.is_user_variable</code>, and that is the only place they arise. You can sort of see how they are used in the diff if you look at the <code>if let</code> in src/librustc_mir/borrow_check/mod.rs)</p>



<a name="127617417"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127617417" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127617417">(Jun 05 2018 at 19:22)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> I did not expect that</p>



<a name="127617431"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127617431" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127617431">(Jun 05 2018 at 19:23)</a>:</h4>
<p>I could imagine some changes to incremental tests</p>



<a name="127617435"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127617435" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127617435">(Jun 05 2018 at 19:23)</a>:</h4>
<p>maybe I'll just put aside the threading-down the HirId approach for now</p>



<a name="127617441"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127617441" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127617441">(Jun 05 2018 at 19:23)</a>:</h4>
<p>but the ICEs surprise me</p>



<a name="127617443"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127617443" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127617443">(Jun 05 2018 at 19:23)</a>:</h4>
<p>there's only so many large swaths of infrastructure that I want to revise at once</p>



<a name="127617445"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127617445" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127617445">(Jun 05 2018 at 19:23)</a>:</h4>
<p>fair :)</p>



<a name="127617448"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127617448" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127617448">(Jun 05 2018 at 19:23)</a>:</h4>
<p>/me is no pcwalton</p>



<a name="127617493"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127617493" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127617493">(Jun 05 2018 at 19:24)</a>:</h4>
<p>^ above is stated with utmost admiration, of course</p>



<a name="127617497"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127617497" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127617497">(Jun 05 2018 at 19:24)</a>:</h4>
<p>(deleted)</p>



<a name="127621463"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127621463" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127621463">(Jun 05 2018 at 20:39)</a>:</h4>
<blockquote>
<p>Is there some other step I need to also do in order to satisfy dep-graph's needs?</p>
</blockquote>
<p>do I perhaps need to encapsulate the fields that use <code>HirId</code> inside of <code>ClearCrossCrate</code> instances in some manner?</p>



<a name="127621560"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127621560" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127621560">(Jun 05 2018 at 20:40)</a>:</h4>
<p>(I just happened to notice a NodeId under <code>mir::VisibilityScopeInfo</code> but I am inferring that <code>ClearCrossCrate&lt;IndexVec&lt;VisibilityScopeIndex, VisibilityScopeInfo&gt;&gt;</code> is what is making that not break...)</p>



<a name="127622953"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127622953" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127622953">(Jun 05 2018 at 21:10)</a>:</h4>
<p>hmm. That's .. plausible actually.</p>



<a name="127622959"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127622959" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127622959">(Jun 05 2018 at 21:10)</a>:</h4>
<p>but I don't think you should have to</p>



<a name="127622965"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127622965" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127622965">(Jun 05 2018 at 21:10)</a>:</h4>
<p>do you have a <code>RUST_BACKTRACE</code> of what is ICEing?</p>



<a name="127624290"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127624290" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127624290">(Jun 05 2018 at 21:42)</a>:</h4>
<p>(sorry had to go afk to deal with Logan; will try to reproduce now)</p>



<a name="127624357"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127624357" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127624357">(Jun 05 2018 at 21:44)</a>:</h4>
<p>but the ICE's are of index out of bound errors</p>



<a name="127624359"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127624359" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127624359">(Jun 05 2018 at 21:44)</a>:</h4>
<p>I know that is not helpful. :)</p>



<a name="127624363"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127624363" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127624363">(Jun 05 2018 at 21:44)</a>:</h4>
<p>(its more that I had at first assumed that a backtrace would not be useful. But now I am rethinking that assumption.)</p>



<a name="127625043"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127625043" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127625043">(Jun 05 2018 at 22:02)</a>:</h4>
<p>I added a backtrace to the same gist. <a href="https://gist.github.com/pnkfelix/e3e27cdfa0f536e6334ffa5e1edd199b" target="_blank" title="https://gist.github.com/pnkfelix/e3e27cdfa0f536e6334ffa5e1edd199b">https://gist.github.com/pnkfelix/e3e27cdfa0f536e6334ffa5e1edd199b</a></p>



<a name="127625053"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127625053" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127625053">(Jun 05 2018 at 22:03)</a>:</h4>
<p>i guess this might be relevant <a href="https://gist.github.com/pnkfelix/e3e27cdfa0f536e6334ffa5e1edd199b#file-c-backtrace-txt-L27" target="_blank" title="https://gist.github.com/pnkfelix/e3e27cdfa0f536e6334ffa5e1edd199b#file-c-backtrace-txt-L27">https://gist.github.com/pnkfelix/e3e27cdfa0f536e6334ffa5e1edd199b#file-c-backtrace-txt-L27</a></p>



<a name="127625223"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127625223" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127625223">(Jun 05 2018 at 22:07)</a>:</h4>
<p>but I need to hit the sack now.</p>



<a name="127628331"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127628331" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127628331">(Jun 05 2018 at 23:28)</a>:</h4>
<p>your hypothesis about the "cross-crate wrapper" type (I forgot the name) might be correct, I think</p>



<a name="127647032"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127647032" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127647032">(Jun 06 2018 at 09:23)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> can you think of any reason not to #[derive(Copy)]<code> on </code>mir::ClearCrossCrate&lt;T&gt;` ?</p>



<a name="127647299"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127647299" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127647299">(Jun 06 2018 at 09:30)</a>:</h4>
<p>no</p>



<a name="127647742"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127647742" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127647742">(Jun 06 2018 at 09:43)</a>:</h4>
<p>Okay. It looks like adding <code>mir::ClearCrossCrate</code> around the state I'm adding to <code>mir::LocalDecl.is_user_variable</code> fixes the dep-graph problems I was having. Yay!</p>



<a name="127647946"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127647946" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127647946">(Jun 06 2018 at 09:49)</a>:</h4>
<p>interesting</p>



<a name="127647947"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127647947" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127647947">(Jun 06 2018 at 09:49)</a>:</h4>
<p>makes sense though, from the backtraces</p>



<a name="127648005"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127648005" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127648005">(Jun 06 2018 at 09:50)</a>:</h4>
<p>I don't understand what's wrong with <code>HirId</code> though</p>



<a name="127648008"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127648008" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127648008">(Jun 06 2018 at 09:51)</a>:</h4>
<p>based on my cursory understanding of the overall picture</p>



<a name="127648015"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127648015" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127648015">(Jun 06 2018 at 09:51)</a>:</h4>
<p><code>DefId</code> itself <em>is</em> stable, right?</p>



<a name="127648017"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127648017" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127648017">(Jun 06 2018 at 09:51)</a>:</h4>
<p>("stable" in the sense that it can be safely embedded in MIR data structures)</p>



<a name="127653495"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127653495" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127653495">(Jun 06 2018 at 12:29)</a>:</h4>
<blockquote>
<p><code>DefId</code> itself <em>is</em> stable, right?</p>
</blockquote>
<p>yes</p>



<a name="127653504"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127653504" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127653504">(Jun 06 2018 at 12:30)</a>:</h4>
<blockquote>
<p>I don't understand what's wrong with <code>HirId</code> though</p>
</blockquote>
<p>if I had to guess, there is some code that is assuming (without asserting) that the <code>HirId</code> is local to the current crate? I agree that it seems sorta like a bug to me</p>



<a name="127653551"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127653551" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127653551">(Jun 06 2018 at 12:30)</a>:</h4>
<p>or perhaps it's that you are indexing into things that are not in the metadata otherwise...?</p>



<a name="127653558"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/rustc%20internals%20notes/near/127653558" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/rustc.20internals.20notes.html#127653558">(Jun 06 2018 at 12:30)</a>:</h4>
<p>I'm not entirely sure</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>